In Study 4, college undergraduates completed a survey consisting of nine measures, including two indices of porosity, the Absorption scale, two indices of spiritual experience, two indices of more secular extraordinary experience, and two control measures.

This notebook contains exploratory factor analyses of item-wise data from this study.

All items, standardized collapsing across sites

Missing column names filled in: 'X1' [1]Parsed with column specification:
cols(
  .default = col_double(),
  p7_ctry = col_character(),
  p7_abs_check = col_character(),
  p7_dse_check = col_character(),
  p7_se_check = col_character(),
  p7_unev_check = col_character(),
  p7_exsen_check = col_character(),
  p7_por_check = col_character(),
  p7_mm_check = col_character(),
  p7_dem_sex = col_character(),
  p7_dem_pocc = col_character(),
  p7_dem_major = col_character(),
  p7_dem_ethnicity = col_character(),
  p7_dem_rur.urb = col_character(),
  p7_dem_affrd.basics = col_character(),
  p7_dem_religion = col_character(),
  p7_dem_church = col_character(),
  p7_dem_holy.tung.gif = col_character(),
  p7_abs_child.exp_cat = col_logical(),
  p7_abs_poetic_cat = col_logical(),
  p7_abs_tv.real_cat = col_logical()
  # ... with 162 more columns
)
See spec(...) for full column specifications.

Factor retention

Parallel analysis suggests that the number of factors =  12  and the number of components =  11 

6-factor solution

Joining, by = "question"

Joining, by = "question"

12-factor solution

Joining, by = "question"

Joining, by = "question"

15-factor solution

convergence not obtained in GPFoblq. 1000 iterations used.
Joining, by = "question"

Joining, by = "question"

All items, standardized by site

Missing column names filled in: 'X1' [1]Parsed with column specification:
cols(
  .default = col_double(),
  p7_ctry = col_character(),
  p7_abs_check = col_character(),
  p7_dse_check = col_character(),
  p7_se_check = col_character(),
  p7_unev_check = col_character(),
  p7_exsen_check = col_character(),
  p7_por_check = col_character(),
  p7_mm_check = col_character(),
  p7_dem_sex = col_character(),
  p7_dem_pocc = col_character(),
  p7_dem_major = col_character(),
  p7_dem_ethnicity = col_character(),
  p7_dem_rur.urb = col_character(),
  p7_dem_affrd.basics = col_character(),
  p7_dem_religion = col_character(),
  p7_dem_church = col_character(),
  p7_dem_holy.tung.gif = col_character(),
  p7_abs_child.exp_cat = col_logical(),
  p7_abs_poetic_cat = col_logical(),
  p7_abs_tv.real_cat = col_logical()
  # ... with 162 more columns
)
See spec(...) for full column specifications.

Factor retention

Parallel analysis suggests that the number of factors =  14  and the number of components =  12 

5-factor solution

Joining, by = "question"
                             F01        F02        F03        F04        F05
SS loadings           9.11307208 7.63959345 7.00343041 6.43602871 3.41634965
Proportion Var        0.06372778 0.05342373 0.04897504 0.04500719 0.02389056
Cumulative Var        0.06372778 0.11715151 0.16612655 0.21113374 0.23502430
Proportion Explained  0.27115400 0.22731152 0.20838287 0.19150017 0.10165144
Cumulative Proportion 0.27115400 0.49846552 0.70684839 0.89834856 1.00000000

Joining, by = "question"
Error in ifelse(abs(as.numeric(.)) >= 0.4) : 
  'list' object cannot be coerced to type 'double'

15-factor solution

Joining, by = "question"
                             F01        F02        F03        F04        F05
SS loadings           7.19341616 6.83616242 6.21018980 5.39891327 5.26224279
Proportion Var        0.04926997 0.04682303 0.04253555 0.03697886 0.03604276
Cumulative Var        0.04926997 0.09609300 0.13862855 0.17560741 0.21165017
Proportion Explained  0.14102290 0.13401914 0.12174729 0.10584267 0.10316332
Cumulative Proportion 0.14102290 0.27504203 0.39678932 0.50263199 0.60579532
                             F06        F07        F08        F09        F10
SS loadings           3.23378808 2.69432166 2.24456266 2.17270082 2.15082467
Proportion Var        0.02214923 0.01845426 0.01537372 0.01488151 0.01473168
Cumulative Var        0.23379940 0.25225366 0.26762738 0.28250889 0.29724056
Proportion Explained  0.06339660 0.05282067 0.04400339 0.04259458 0.04216571
Cumulative Proportion 0.66919192 0.72201259 0.76601598 0.80861057 0.85077628
                             F11        F12        F13         F14         F15
SS loadings           2.09164928 1.58122524 1.43751018 1.293403196 1.207943015
Proportion Var        0.01432636 0.01083031 0.00984596 0.008858926 0.008273582
Cumulative Var        0.31156693 0.32239724 0.33224320 0.341102125 0.349375707
Proportion Explained  0.04100561 0.03099904 0.02818158 0.025356445 0.023681046
Cumulative Proportion 0.89178189 0.92278093 0.95096251 0.976318954 1.000000000

Joining, by = "question"
                       scale F01 F02 F03 F04 F05 F06 F07 F08 F09 F10 F11 F12 F13
            Spiritual Events   1  20  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA   1
 Daily Spiritual Experiences  13  NA  NA  NA  NA   1  NA  NA  NA  NA  NA  NA  NA
              Porosity Scale  NA  NA   2  NA  13  NA  NA  NA  NA  NA  NA  NA  NA
          Porosity Vignettes  NA  NA  17  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA
                  Absorption  NA  NA  NA  32  NA   1  NA  NA  NA  NA  NA   1  NA
              Hallucinations  NA  NA  NA   1  NA  NA  NA   5  NA  NA  NA  NA  NA
                  Paranormal  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA   7  NA  NA
          Need for Cognition  NA  NA  NA  NA  NA   9  NA  NA  NA   8  NA   1  NA
   Sense of Control: Mastery  NA  NA  NA  NA  NA  NA   8  NA   4  NA  NA  NA  NA
 F15 Total
  NA    22
  NA    14
   1    16
  NA    17
  NA    34
  NA     6
  NA     7
  NA    18
  NA    12
LS0tCnRpdGxlOiAiU3R1ZHkgNDogRXhwbG9yYXRvcnkgZmFjdG9yIGFuYWx5c2VzIgpzdWJ0aXRsZTogIkx1aHJtYW5uLCBXZWlzbWFuLCBldCBhbC4iCm91dHB1dDogCiAgaHRtbF9ub3RlYm9vazoKICAgIHRoZW1lOiBmbGF0bHkKICAgIHRvYzogdHJ1ZQogICAgdG9jX2Zsb2F0OiB0cnVlCi0tLQoKSW4gU3R1ZHkgNCwgY29sbGVnZSB1bmRlcmdyYWR1YXRlcyBjb21wbGV0ZWQgYSBzdXJ2ZXkgY29uc2lzdGluZyBvZiBuaW5lIG1lYXN1cmVzLCBpbmNsdWRpbmcgdHdvIGluZGljZXMgb2YgcG9yb3NpdHksIHRoZSBBYnNvcnB0aW9uIHNjYWxlLCB0d28gaW5kaWNlcyBvZiBzcGlyaXR1YWwgZXhwZXJpZW5jZSwgdHdvIGluZGljZXMgb2YgbW9yZSBzZWN1bGFyIGV4dHJhb3JkaW5hcnkgZXhwZXJpZW5jZSwgYW5kIHR3byBjb250cm9sIG1lYXN1cmVzLgoKVGhpcyBub3RlYm9vayBjb250YWlucyBleHBsb3JhdG9yeSBmYWN0b3IgYW5hbHlzZXMgb2YgaXRlbS13aXNlIGRhdGEgZnJvbSB0aGlzIHN0dWR5LgoKYGBge3IsIG1lc3NhZ2UgPSBGfQpzb3VyY2UoIi4uL3NjcmlwdHNfZ2VuZXJhbC9kZXBlbmRlbmNpZXMuUiIpCnNvdXJjZSgiLi4vc2NyaXB0c19nZW5lcmFsL2N1c3RvbV9mdW5zLlIiKQpzb3VyY2UoIi4uL3NjcmlwdHNfZ2VuZXJhbC92YXJfcmVjb2RlX2NvbnRyYXN0LlIiKQpzb3VyY2UoIi4uL3NjcmlwdHNfZ2VuZXJhbC9kYXRhX2xvYWQuUiIpCmBgYAoKYGBge3J9CnJlcXVpcmUocmVhZHhsKQpgYGAKCmBgYHtyfQpkNF9rZXkgPC0gcmVhZF9leGNlbCgiLi9kYXRhX2J5X3F1ZXN0aW9uL1BhY2tldCA3X0NPREVEX01hcmNoIDE4LCAyMDE5Lnhsc3giLCAKICAgICAgICAgICAgICAgICAgICAgc2hlZXQgPSAiS2V5IikgJT4lCiAgcmVuYW1lKHF1ZXN0aW9uID0gVkFSSUFCTEUsCiAgICAgICAgIHF1ZXN0aW9uX3RleHQgPSBRVUVTVElPTiwgCiAgICAgICAgIHJlc3BvbnNlX29wdGlvbnMgPSBSRVNQT05TRVMsCiAgICAgICAgIGNvZGluZyA9IENPRElORykgJT4lCiAgbXV0YXRlKHF1ZXN0aW9uX3RleHQgPSBnc3ViKCJbWzpzcGFjZTpdXSsiLCAiICIsIHF1ZXN0aW9uX3RleHQpLAogICAgICAgICBxdWVzdGlvbl90ZXh0ID0gZ3N1Yigi4oCaw4TDtCIsICInIiwgcXVlc3Rpb25fdGV4dCksCiAgICAgICAgIHF1ZXN0aW9uX3RleHQgPSBnc3ViKCLigJrDhMO6IiwgIiciLCBxdWVzdGlvbl90ZXh0KSwKICAgICAgICAgcXVlc3Rpb25fdGV4dCA9IGdzdWIoIuKAmsOEw7kiLCAiJyIsIHF1ZXN0aW9uX3RleHQpLAogICAgICAgICBxdWVzdGlvbl90ZXh0ID0gZ3N1Yigi4oCaw4TDriIsICIgLSAiLCBxdWVzdGlvbl90ZXh0KSwKICAgICAgICAgcXVlc3Rpb25fdGV4dCA9IGdzdWIoIlxcW0VTUCIsICJcXChFU1AiLCBxdWVzdGlvbl90ZXh0KSwKICAgICAgICAgcXVlc3Rpb25fdGV4dCA9IGdzdWIoInBzeWNoaWMgYWJpbGl0eVxcXSIsICJwc3ljaGljIGFiaWxpdHlcXCkiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlc3Rpb25fdGV4dCksCiAgICAgICAgIHF1ZXN0aW9uX3RleHQgPSBnc3ViKCIgXFxbLipcXF0iLCAiIiwgcXVlc3Rpb25fdGV4dCksCiAgICAgICAgIHF1ZXN0aW9uX3RleHQgPSBnc3ViKCJeW1s6c3BhY2U6XV0rIiwgIiIsIHF1ZXN0aW9uX3RleHQpKQpgYGAKCmBgYHtyIG1vcmUgY3VzdG9tIGZ1bnN9Cm5mYWN0X2Z1biA8LSBmdW5jdGlvbihkZiwgd2hpY2hfcm90YXRlID0gIm5vbmUiKSB7CiAgCiAgcmVzX3BhciA8LSBmYS5wYXJhbGxlbChkZiwgcGxvdCA9IEYpCiAgCiAgcmVzX1ZTUyA8LSBWU1MoZGYsIG4gPSAyMCwgcm90YXRlID0gd2hpY2hfcm90YXRlLCBwbG90ID0gRikKICAKICByZXMgPC0gYmluZF9yb3dzKGMocHJvdG9jb2wgPSAiUGFyYWxsZWwgYW5hbHlzaXMiLCAKICAgICAgICAgICAgICAgICAgICAgbmZhY3QgPSByZXNfcGFyJG5mYWN0KSwKICAgICAgICAgICAgICAgICAgIGMocHJvdG9jb2wgPSAiTWluaW1pemluZyBCSUMiLCAKICAgICAgICAgICAgICAgICAgICAgbmZhY3QgPSB3aGljaC5taW4ocmVzX1ZTUyR2c3Muc3RhdHMkQklDKSksCiAgICAgICAgICAgICAgICAgICBjKHByb3RvY29sID0gIlZlbGljZXIncyBNQVAiLAogICAgICAgICAgICAgICAgICAgICBuZmFjdCA9IHdoaWNoLm1pbihyZXNfVlNTJG1hcCkpKSAlPiUKICAgIG11dGF0ZShuZmFjdCA9IGFzLm51bWVyaWMobmZhY3QpKSAlPiUKICAgIGFycmFuZ2UobmZhY3QpCiAgCiAgcmV0dXJuKHJlcykKfQoKbG9hZGluZ3NfZnVuIDwtIGZ1bmN0aW9uKGVmYSwga2V5ID0gZDRfa2V5KSB7CiAgcmVzIDwtIGVmYSRsb2FkaW5nc1tdICU+JQogICAgZGF0YS5mcmFtZSgpICU+JQogICAgcm93bmFtZXNfdG9fY29sdW1uKCJxdWVzdGlvbiIpICU+JQogICAgbXV0YXRlKG9yZGVyID0gMTpucm93KC4pKSAlPiUKICAgIGdhdGhlcihmYWN0b3IsIGxvYWRpbmcsIC1jKHF1ZXN0aW9uLCBvcmRlcikpICU+JQogICAgbGVmdF9qb2luKGtleSAlPiUgc2VsZWN0KHF1ZXN0aW9uLCBxdWVzdGlvbl90ZXh0KSkgJT4lCiAgICBtdXRhdGUoc2NhbGUgPSBnc3ViKCJwN18iLCAiIiwgcXVlc3Rpb24pLAogICAgICAgICAgIHNjYWxlID0gZ3N1YigiXy4qJCIsICIiLCBzY2FsZSksCiAgICAgICAgICAgc2NhbGUgPSBmYWN0b3Ioc2NhbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWxzID0gYygic2UiLCAiZHNlIiwgInBvciIsICJtbSIsICJhYnMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuZXYiLCAiZXhzZW4iLCAiaHRoayIsICJ3b2IiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbHMgPSBjKCJTcGlyaXR1YWwgRXZlbnRzIiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRGFpbHkgU3Bpcml0dWFsIEV4cGVyaWVuY2VzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJQb3Jvc2l0eSBTY2FsZSIsICJQb3Jvc2l0eSBWaWduZXR0ZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFic29ycHRpb24iLCAiSGFsbHVjaW5hdGlvbnMiLCAiUGFyYW5vcm1hbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTmVlZCBmb3IgQ29nbml0aW9uIiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU2Vuc2Ugb2YgQ29udHJvbDogTWFzdGVyeSIpKSkKICAKICByZXR1cm4ocmVzKQp9CgpoZWF0bWFwX2Z1biA8LSBmdW5jdGlvbihkZiwgd3JhcF93aWR0aCA9IDEwMCwgZmFjZXQgPSBGLCBsZWdlbmQgPSBGKSB7CiAgCiAgaWYgKCFmYWNldCkgewogICAgZGYgPC0gZGYgJT4lCiAgICAgIHVuaXRlKHF1ZXN0aW9uX3RleHQsIHNjYWxlLCBxdWVzdGlvbl90ZXh0LCBzZXAgPSAiOiAiKQogIH0KICAKICAKICBwbG90IDwtIGdncGxvdChkZiwKICAgICAgICAgICAgICAgICBhZXMoeCA9IGZhY3RvciwgCiAgICAgICAgICAgICAgICAgICAgIHkgPSByZW9yZGVyKHN0cl93cmFwKHF1ZXN0aW9uX3RleHQsIHdyYXBfd2lkdGgpLCBkZXNjKG9yZGVyKSksIAogICAgICAgICAgICAgICAgICAgICBmaWxsID0gbG9hZGluZykpICsKICAgIGdlb21fdGlsZShjb2xvciA9ICJibGFjayIsIHNpemUgPSAwLjEpICsKICAgIGdlb21fdGV4dChhZXMobGFiZWwgPSBmb3JtYXQocm91bmQobG9hZGluZywgMiksIG5zbWFsbCA9IDIpKSwgc2l6ZSA9IDIpICsKICAgIHNjYWxlX2ZpbGxfdmlyaWRpc19jKGd1aWRlID0gZ3VpZGVfY29sb3JiYXIoYmFyd2lkdGggPSA2LCBiYXJoZWlnaHQgPSAwLjUpKSArCiAgICBzY2FsZV94X2Rpc2NyZXRlKHBvc2l0aW9uID0gInRvcCIpICsKICAgIHNjYWxlX3lfZGlzY3JldGUocG9zaXRpb24gPSAicmlnaHQiKSArCiAgICB0aGVtZV9taW5pbWFsKCkgKwogICAgdGhlbWUobGVnZW5kLnBvc2l0aW9uID0gInRvcCIpICsKICAgIGxhYnMoeCA9ICJGYWN0b3IiLCB5ID0gIlF1ZXN0aW9uIikKICAKICBpZiAoZmFjZXQpIHsKICAgIHBsb3QgPC0gcGxvdCArIAogICAgICBmYWNldF9ncmlkKHJvd3MgPSB2YXJzKHNjYWxlKSwgc3BhY2UgPSAiZnJlZSIsIHNjYWxlcyA9ICJmcmVlIiwgc3dpdGNoID0gInkiKQogIH0KICAKICBpZiAoIWxlZ2VuZCkgewogICAgcGxvdCA8LSBwbG90ICsgdGhlbWUobGVnZW5kLnBvc2l0aW9uID0gIm5vbmUiKQogIH0KICAKICByZXR1cm4ocGxvdCkKfSAKCnRvcGZhY3RfZnVuIDwtIGZ1bmN0aW9uKGRmKSB7CiAgcmVzIDwtIGRmICU+JQogICAgZ3JvdXBfYnkocXVlc3Rpb24pICU+JQogICAgdG9wX24oMSwgYWJzKGxvYWRpbmcpKSAlPiUKICAgIHVuZ3JvdXAoKSAlPiUKICAgIGRpc3RpbmN0KHF1ZXN0aW9uLCBmYWN0b3IpICU+JQogICAgcmVuYW1lKHRvcGZhY3QgPSBmYWN0b3IpCiAgCiAgcmV0dXJuKHJlcykKfQpgYGAKCgojIEFsbCBpdGVtcywgc3RhbmRhcmRpemVkIGNvbGxhcHNpbmcgYWNyb3NzIHNpdGVzCgpgYGB7cn0KZDRfaXRlbXNfYWxsIDwtIHJlYWRfY3N2KCIuL2RhdGFfYnlfcXVlc3Rpb24vc3R1ZHk0X2J5cXVlc3Rpb24uY3N2IikgJT4lCiAgc2VsZWN0KC1YMSwgLWVuZHNfd2l0aCgiX2NhdCIpLCAtY29udGFpbnMoIl9kZW1fIiksIAogICAgICAgICAtY29udGFpbnMoIl90b3RhbCIpLCAtY29udGFpbnMoIl9jaGVjayIpLAogICAgICAgICAtZW5kc193aXRoKCJfcGh5c2ljYWwiKSwgIyBvbWl0ICJwaHlzaWNhbGx5IiBpdGVtcyBmcm9tIHBvcm9zaXR5IHZpZ25ldHRlcwogICAgICAgICAtZW5kc193aXRoKCJfYSIpLCAtZW5kc193aXRoKCJfYiIpLCAtZW5kc193aXRoKCJfYyIpKSAlPiUKICBmaWx0ZXIocDdfc3ViaiAlaW4lIGQ0JHN1YmplY3RfaWQpICU+JQogIHVuaXRlKGN0cnlfc3ViaiwgcDdfY3RyeSwgcDdfc3ViaikgJT4lCiAgY29sdW1uX3RvX3Jvd25hbWVzKCJjdHJ5X3N1YmoiKSAlPiUKICBtdXRhdGVfYWxsKH4gc2NhbGUoLikpCmBgYAoKIyMgRmFjdG9yIHJldGVudGlvbgoKYGBge3J9Cm5mYWN0X2FsbCA8LSBuZmFjdF9mdW4oZDRfaXRlbXNfYWxsKQpgYGAKCmBgYHtyfQpuZmFjdF9hbGwKYGBgCgojIyA2LWZhY3RvciBzb2x1dGlvbgoKYGBge3J9CmVmYV9hbGxfNiA8LSBmYShkNF9pdGVtc19hbGwsIG5mYWN0b3JzID0gNiwgcm90YXRlID0gIm9ibGltaW4iKSAlPiUgZmEuc29ydCgpCmNvbG5hbWVzKGVmYV9hbGxfNiRsb2FkaW5ncykgPC0gcGFzdGUwKCJGIiwgc3RyX3BhZCgxOjYsIHdpZHRoID0gMiwgcGFkID0gIjAiKSkKYGBgCgpgYGB7cn0KZWZhX2FsbF82X2xvYWRpbmdzIDwtIGxvYWRpbmdzX2Z1bihlZmFfYWxsXzYpCmBgYAoKYGBge3IsIGZpZy53aWR0aCA9IDQsIGZpZy5hc3AgPSA2fQpoZWF0bWFwX2Z1bihlZmFfYWxsXzZfbG9hZGluZ3MpCmBgYApgYGB7cn0KZWZhX2FsbF82X3RvcGZhY3QgPC0gdG9wZmFjdF9mdW4oZWZhX2FsbF82X2xvYWRpbmdzKQpgYGAKCmBgYHtyfQplZmFfYWxsXzZfdG9wZmFjdCAlPiUKICBsZWZ0X2pvaW4oZWZhX2FsbF82X2xvYWRpbmdzICU+JSBkaXN0aW5jdChxdWVzdGlvbiwgc2NhbGUpKSAlPiUKICBjb3VudCh0b3BmYWN0LCBzY2FsZSkgJT4lCiAgc3ByZWFkKHRvcGZhY3QsIG4pCmBgYAoKIyMgMTItZmFjdG9yIHNvbHV0aW9uCgpgYGB7cn0KZWZhX2FsbF8xMiA8LSBmYShkNF9pdGVtc19hbGwsIG5mYWN0b3JzID0gMTIsIHJvdGF0ZSA9ICJvYmxpbWluIikgJT4lIGZhLnNvcnQoKQpjb2xuYW1lcyhlZmFfYWxsXzEyJGxvYWRpbmdzKSA8LSBwYXN0ZTAoIkYiLCBzdHJfcGFkKDE6MTIsIHdpZHRoID0gMiwgcGFkID0gIjAiKSkKYGBgCgpgYGB7cn0KZWZhX2FsbF8xMl9sb2FkaW5ncyA8LSBsb2FkaW5nc19mdW4oZWZhX2FsbF8xMikKYGBgCgpgYGB7ciwgZmlnLndpZHRoID0gNCwgZmlnLmFzcCA9IDZ9CmhlYXRtYXBfZnVuKGVmYV9hbGxfMTJfbG9hZGluZ3MgJT4lCiAgICAgICAgICAgICAgbXV0YXRlKHF1ZXN0aW9uX3RleHQgPSBpZmVsc2UobmNoYXIocXVlc3Rpb25fdGV4dCkgPD0gMTAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXN0aW9uX3RleHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzdGUwKHN1YnN0cihxdWVzdGlvbl90ZXh0LCAxLCAxMDApLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi4uLiIpKSksIAogICAgICAgICAgICB3cmFwX3dpZHRoID0gNjApCmBgYApgYGB7cn0KZWZhX2FsbF8xMl90b3BmYWN0IDwtIHRvcGZhY3RfZnVuKGVmYV9hbGxfMTJfbG9hZGluZ3MpCmBgYAoKYGBge3J9CmVmYV9hbGxfMTJfdG9wZmFjdCAlPiUKICBsZWZ0X2pvaW4oZWZhX2FsbF8xMl9sb2FkaW5ncyAlPiUgZGlzdGluY3QocXVlc3Rpb24sIHNjYWxlKSkgJT4lCiAgY291bnQodG9wZmFjdCwgc2NhbGUpICU+JQogIHNwcmVhZCh0b3BmYWN0LCBuKQpgYGAKCgojIyAxNS1mYWN0b3Igc29sdXRpb24KCmBgYHtyfQplZmFfYWxsXzE1IDwtIGZhKGQ0X2l0ZW1zX2FsbCwgbmZhY3RvcnMgPSAxNSwgcm90YXRlID0gIm9ibGltaW4iKSAlPiUgZmEuc29ydCgpCmNvbG5hbWVzKGVmYV9hbGxfMTUkbG9hZGluZ3MpIDwtIHBhc3RlMCgiRiIsIHN0cl9wYWQoMToxNSwgd2lkdGggPSAyLCBwYWQgPSAiMCIpKQpgYGAKCmBgYHtyfQplZmFfYWxsXzE1X2xvYWRpbmdzIDwtIGxvYWRpbmdzX2Z1bihlZmFfYWxsXzE1KQpgYGAKCmBgYHtyLCBmaWcud2lkdGggPSA0LCBmaWcuYXNwID0gNn0KaGVhdG1hcF9mdW4oZWZhX2FsbF8xNV9sb2FkaW5ncyAlPiUKICAgICAgICAgICAgICBtdXRhdGUocXVlc3Rpb25fdGV4dCA9IGlmZWxzZShuY2hhcihxdWVzdGlvbl90ZXh0KSA8PSAxMDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlc3Rpb25fdGV4dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXN0ZTAoc3Vic3RyKHF1ZXN0aW9uX3RleHQsIDEsIDEwMCksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLi4uIikpKSwgCiAgICAgICAgICAgIHdyYXBfd2lkdGggPSA4MCkKYGBgCmBgYHtyfQplZmFfYWxsXzE1X3RvcGZhY3QgPC0gdG9wZmFjdF9mdW4oZWZhX2FsbF8xNV9sb2FkaW5ncykKYGBgCgpgYGB7cn0KZWZhX2FsbF8xNV90b3BmYWN0ICU+JQogIGxlZnRfam9pbihlZmFfYWxsXzE1X2xvYWRpbmdzICU+JSBkaXN0aW5jdChxdWVzdGlvbiwgc2NhbGUpKSAlPiUKICBjb3VudCh0b3BmYWN0LCBzY2FsZSkgJT4lCiAgc3ByZWFkKHRvcGZhY3QsIG4pCmBgYAoKCiMgQWxsIGl0ZW1zLCBzdGFuZGFyZGl6ZWQgYnkgc2l0ZQoKYGBge3J9CmQ0X2l0ZW1zX2FsbF9zdGQgPC0gcmVhZF9jc3YoIi4vZGF0YV9ieV9xdWVzdGlvbi9zdHVkeTRfYnlxdWVzdGlvbi5jc3YiKSAlPiUKICBzZWxlY3QoLVgxLCAtZW5kc193aXRoKCJfY2F0IiksIC1jb250YWlucygiX2RlbV8iKSwgCiAgICAgICAgIC1jb250YWlucygiX3RvdGFsIiksIC1jb250YWlucygiX2NoZWNrIiksCiAgICAgICAgIC1lbmRzX3dpdGgoIl9waHlzaWNhbCIpLCAjIG9taXQgInBoeXNpY2FsbHkiIGl0ZW1zIGZyb20gcG9yb3NpdHkgdmlnbmV0dGVzCiAgICAgICAgIC1lbmRzX3dpdGgoIl9hIiksIC1lbmRzX3dpdGgoIl9iIiksIC1lbmRzX3dpdGgoIl9jIikpICU+JQogIGZpbHRlcihwN19zdWJqICVpbiUgZDQkc3ViamVjdF9pZCkgJT4lCiAgZ3JvdXBfYnkocDdfY3RyeSkgJT4lCiAgbXV0YXRlX2F0KHZhcnMoLXA3X2N0cnksIC1wN19zdWJqKSwgfiBzY2FsZSguKSkgJT4lCiAgdW5ncm91cCgpICU+JQogIHVuaXRlKGN0cnlfc3ViaiwgcDdfY3RyeSwgcDdfc3ViaikgJT4lCiAgY29sdW1uX3RvX3Jvd25hbWVzKCJjdHJ5X3N1YmoiKQpgYGAKCiMjIEZhY3RvciByZXRlbnRpb24KCmBgYHtyfQpuZmFjdF9hbGxfc3RkIDwtIG5mYWN0X2Z1bihkNF9pdGVtc19hbGxfc3RkKQpgYGAKCmBgYHtyfQpuZmFjdF9hbGxfc3RkCmBgYAoKIyMgNS1mYWN0b3Igc29sdXRpb24KCmBgYHtyfQplZmFfYWxsX3N0ZF81IDwtIGZhKGQ0X2l0ZW1zX2FsbF9zdGQsIG5mYWN0b3JzID0gNSwgcm90YXRlID0gInZhcmltYXgiKSAlPiUgZmEuc29ydCgpCmNvbG5hbWVzKGVmYV9hbGxfc3RkXzUkbG9hZGluZ3MpIDwtIHBhc3RlMCgiRiIsIHN0cl9wYWQoMTo1LCB3aWR0aCA9IDIsIHBhZCA9ICIwIikpCmNvbG5hbWVzKGVmYV9hbGxfc3RkXzUkVmFjY291bnRlZCkgPC0gcGFzdGUwKCJGIiwgc3RyX3BhZCgxOjUsIHdpZHRoID0gMiwgcGFkID0gIjAiKSkKYGBgCgpgYGB7cn0KZWZhX2FsbF9zdGRfNV9sb2FkaW5ncyA8LSBsb2FkaW5nc19mdW4oZWZhX2FsbF9zdGRfNSkKYGBgCgpgYGB7cn0KZWZhX2FsbF9zdGRfNSRWYWNjb3VudGVkCmBgYAoKYGBge3IsIGZpZy53aWR0aCA9IDQsIGZpZy5hc3AgPSA2fQpoZWF0bWFwX2Z1bihlZmFfYWxsX3N0ZF81X2xvYWRpbmdzKQpgYGAKCmBgYHtyfQplZmFfYWxsX3N0ZF81X3RvcGZhY3QgPC0gdG9wZmFjdF9mdW4oZWZhX2FsbF9zdGRfNV9sb2FkaW5ncykKYGBgCgpgYGB7cn0KZWZhX2FsbF9zdGRfNV90b3BmYWN0ICU+JQogIGxlZnRfam9pbihlZmFfYWxsX3N0ZF81X2xvYWRpbmdzICU+JSBkaXN0aW5jdChxdWVzdGlvbiwgc2NhbGUpKSAlPiUKICBjb3VudCh0b3BmYWN0LCBzY2FsZSkgJT4lCiAgc3ByZWFkKHRvcGZhY3QsIG4pCmBgYAoKYGBge3J9CmVmYV9hbGxfc3RkXzVfdG9wZmFjdCAlPiUgY291bnQodG9wZmFjdCkKYGBgCgpgYGB7cn0KZWZhX2FsbF9zdGRfNV9sb2FkaW5ncyAlPiUKICBzZWxlY3Qoc2NhbGUsIHF1ZXN0aW9uX3RleHQsIGZhY3RvciwgbG9hZGluZywgb3JkZXIpICU+JQogIG11dGF0ZShmYWN0b3IgPSBnc3ViKCJGMCIsICJGYWN0b3IgIiwgZmFjdG9yKSwKICAgICAgICAgbG9hZGluZyA9IGZvcm1hdChyb3VuZChsb2FkaW5nLCAyKSwgbnNtYWxsID0gMikpICU+JQogIHNwcmVhZChmYWN0b3IsIGxvYWRpbmcpICU+JQogIGFycmFuZ2Uob3JkZXIpICU+JQogIHNlbGVjdCgtb3JkZXIpICU+JQogICMgbXV0YXRlKCJGYWN0b3IgMSIgPSBjZWxsX3NwZWMoYEZhY3RvciAxYCwgImh0bWwiLAogICMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9sZCA9IGMocmVwKFQsIDM1KSwgCiAgIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXAoRiwgbnJvdyguKSAtIDM1KSkpLAogICMgICAgICAgICJGYWN0b3IgMiIgPSBjZWxsX3NwZWMoYEZhY3RvciAyYCwgImh0bWwiLAogICMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9sZCA9IGMocmVwKEYsIDM1KSwgCiAgIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXAoVCwgMTcpLCAKICAjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcChGLCBucm93KC4pIC0gKDM1ICsgMTcpKSkpLAogICMgICAgICAgICJGYWN0b3IgMyIgPSBjZWxsX3NwZWMoYEZhY3RvciAzYCwgImh0bWwiLAogICMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9sZCA9IGMocmVwKEYsIDM1ICsgMTcpLCAKICAjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcChULCAyMSksCiAgIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXAoRiwgbnJvdyguKSAtICgzNSArIDE3ICsgMjEpKSkpLAogICMgICAgICAgICJGYWN0b3IgNCIgPSBjZWxsX3NwZWMoYEZhY3RvciA0YCwgImh0bWwiLAogICMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9sZCA9IGMocmVwKEYsIDM1ICsgMTcgKyAyMSksIAogICMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwKFQsIDQ1KSwKICAjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcChGLCBucm93KC4pIC0gKDM1ICsgMTcgKyAyMSArIDQ1KSkpKSwKICAjICAgICAgICAiRmFjdG9yIDUiID0gY2VsbF9zcGVjKGBGYWN0b3IgNWAsICJodG1sIiwKICAjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvbGQgPSBjKHJlcChGLCAzNSArIDE3ICsgMjEgKyA0NSksIAogICMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwKFQsIDI1KSkpKSAlPiUKICBrYWJsZShmb3JtYXQgPSAiaHRtbCIsIGVzY2FwZSA9IEYpICU+JQogIGthYmxlX3N0eWxpbmcoKQogIApgYGAKCgoKCgoKIyMgMTUtZmFjdG9yIHNvbHV0aW9uCgpgYGB7cn0KZWZhX2FsbF9zdGRfMTUgPC0gZmEoZDRfaXRlbXNfYWxsX3N0ZCwgbmZhY3RvcnMgPSAxNSwgcm90YXRlID0gInZhcmltYXgiKSAlPiUgZmEuc29ydCgpCmNvbG5hbWVzKGVmYV9hbGxfc3RkXzE1JGxvYWRpbmdzKSA8LSBwYXN0ZTAoIkYiLCBzdHJfcGFkKDE6MTUsIHdpZHRoID0gMiwgcGFkID0gIjAiKSkKY29sbmFtZXMoZWZhX2FsbF9zdGRfMTUkVmFjY291bnRlZCkgPC0gcGFzdGUwKCJGIiwgc3RyX3BhZCgxOjE1LCB3aWR0aCA9IDIsIHBhZCA9ICIwIikpCmBgYAoKYGBge3J9CmVmYV9hbGxfc3RkXzE1X2xvYWRpbmdzIDwtIGxvYWRpbmdzX2Z1bihlZmFfYWxsX3N0ZF8xNSkKYGBgCgpgYGB7cn0KZWZhX2FsbF9zdGRfMTUkVmFjY291bnRlZApgYGAKCmBgYHtyLCBmaWcud2lkdGggPSA0LCBmaWcuYXNwID0gNn0KaGVhdG1hcF9mdW4oZWZhX2FsbF9zdGRfMTVfbG9hZGluZ3MpCmBgYAoKYGBge3J9CmVmYV9hbGxfc3RkXzE1X3RvcGZhY3QgPC0gdG9wZmFjdF9mdW4oZWZhX2FsbF9zdGRfMTVfbG9hZGluZ3MpCmBgYAoKYGBge3J9CmVmYV9hbGxfc3RkXzE1X3RvcGZhY3QgJT4lCiAgbGVmdF9qb2luKGVmYV9hbGxfc3RkXzE1X2xvYWRpbmdzICU+JSBkaXN0aW5jdChxdWVzdGlvbiwgc2NhbGUpKSAlPiUKICBjb3VudCh0b3BmYWN0LCBzY2FsZSkgJT4lCiAgc3ByZWFkKHRvcGZhY3QsIG4pICU+JQogIGphbml0b3I6OmFkb3JuX3RvdGFscyh3aGVyZSA9ICJjb2wiKQpgYGAKCgoKCg==